fn main() {
    for n in 1..101 {
        println!("{}", n);
    }
    //
    println!();
    for n in 1..=3 {
        println!("{}", n);
    }
    // iter - 在每次迭代中借用集合中的一个元素。这样集合本身不会被改变，循环之后仍可以使用
    println!();
    let names = ["a", "b", "c"];
    for name in names.iter() {
        match name {
            &"a" => println!("》》》{}", "a"),
            _ => (),
        }
    }
    println!("iter {:?}", names);

    //into_iter - 会消耗集合。在每次迭代中，集合中的数据本身会被提供。一旦集合被消耗了，之后就无法再使用了，因为它已经在循环中被 “移除”（move）了。
    let names = ["a", "b", "c"];
    for name in names.into_iter() {
        match name {
            &"a" => println!("》》》{}", "a"),
            _ => (),
        }
    }
    // println!("into_iter {:?}", names);

    //iter_mut - 可变地（mutably）借用集合中的每个元素，从而允许集合被就地修改。
    let mut names = ["a", "b", "c"];
    for name in names.iter_mut() {
        *name = "d";
    }
    println!("iter_mut {:?}", names);
}
